home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue26 / pagectrl / TEST1U.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-09-02  |  1.4 KB  |  61 lines

  1. unit Test1U;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ComCtrls, StdCtrls, PageCtl1;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     ODPageControl: TODPageControl;
  12.     TabSheet1: TTabSheet;
  13.     TabSheet2: TTabSheet;
  14.     TabSheet3: TTabSheet;
  15.     Memo1: TMemo;
  16.     Memo2: TMemo;
  17.     Memo3: TMemo;
  18.     Button1: TButton;
  19.     procedure ODPageControlDrawItem(Control: TWinControl; Index: Integer;
  20.       Rect: TRect; State: TOwnerDrawState);
  21.     procedure Button1Click(Sender: TObject);
  22.   private
  23.     { Private declarations }
  24.   public
  25.     { Public declarations }
  26.   end;
  27.  
  28. var
  29.   Form1: TForm1;
  30.  
  31. implementation
  32.  
  33. {$R *.DFM}
  34.  
  35. procedure TForm1.ODPageControlDrawItem(Control: TWinControl;
  36.   Index: Integer; Rect: TRect; State: TOwnerDrawState);
  37. begin
  38.   with Control as TODPageControl do
  39.   begin
  40.     DefaultDrawTab(Index, Rect, State);
  41.     if odSelected in State then
  42.     begin
  43.       Canvas.Pen.Color := clRed;
  44.       Canvas.MoveTo(Rect.Left, Rect.Top);
  45.       Canvas.LineTo(Rect.Right, Rect.Bottom);
  46.       Canvas.MoveTo(Rect.Left, Rect.Bottom);
  47.       Canvas.LineTo(Rect.Right, Rect.Top);
  48.     end;
  49.   end
  50. end;
  51.  
  52. procedure TForm1.Button1Click(Sender: TObject);
  53. const
  54.   Styles: array[Boolean] of TPageControlStyle =
  55.     (pcsStandard, pcsOwnerDraw);
  56. begin
  57.   ODPageControl.Style := Styles[ODPageControl.Style = pcsStandard]
  58. end;
  59.  
  60. end.
  61.